Rscript
. It allows for piping as well for shebang scripting via #!
, uses command-line arguments more consistently and still starts faster. It also always loaded the methods
package which Rscript
only started to do in recent years.
littler lives on Linux and Unix, has its difficulties on macOS due to yet-another-braindeadedness there (who ever thought case-insensitive filesystems as a default were a good idea?) and simply does not exist on Windows (yet the build system could be extended see RInside for an existence proof, and volunteers are welcome!). See the FAQ vignette on how to add it to your PATH
.
A few examples are highlighted at the Github repo, as well as in the examples vignette.
This release brings two new example scripts and command wrappers (compiledDeps.r
, silenceTwitterAccount.r
), along with extensions, corrections, or polish for a number a of other examples as detailed in the NEWS
file entry below.
My CRANberries provides a comparison to the previous release. Full details for the littler release are provided as usual at the ChangeLog page, and now also on the new package docs website. The code is available via the GitHub repo, from tarballs and now of course also from its CRAN page and viaChanges in littler version 0.3.13 (2021-07-24)
- Changes in examples
- New script
compiledDeps.r
to show which dependencies are compiled- New script
silenceTwitterAccount.r
wrapping rtweet- The
-c
or--code
option forinstallRSPM.r
was corrected- The
kitten.r
script now passes options bunny and puppy on to thepkgKitten::kitten()
call; new options to call the Arma and Eigen variants were added- The
getRStudioDesktop.r
andgetRStudioServer.r
scripts were updated for a change in rvest- Two typos in the
tt.r
help message were correct (Aaron Wolen in #86)- The message in
cranIncoming.r
was corrected.- Changes in package
- Added Continuous Integration runner via
run.sh
from r-ci.- Two vignettes got two extra vignette attributes.
- The mkdocs-material documentation input was moved.
- The basic unit tests were slightly refactored and updated.
install.packages("littler")
. Binary packages are available directly in Debian as well as soon via Ubuntu binaries at CRAN thanks to the tireless Michael Rutter.
Comments and suggestions are welcome at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
I find it so odd that the strong zeal for revenge and punishment if someone says anything that is perceived to be sexist or racist or discriminatory comes from liberals and progressives. There are so many violations [in cases like Stallman s] of such fundamental principles to which progressives and liberals cling in general as to what is justice, what is fairness, what is due process.Unfortunately, I don t think the Anti-Harassment Team of Debian and others of the usual group of warriors will ever read less understand what is written there. So sad.
One is proportionality: that the punishment should be proportional to the offense. Another one is restorative justice: that rather than retribution and punishment, we should seek to have the person constructively come to understand, repent, and make amends for an infraction. Liberals generally believe society to be too punitive, too harsh, not forgiving enough. They are certainly against the death penalty and other harsh punishments even for the most violent, the mass murderers. Progressives are right now advocating for the release of criminals, even murderers. To then have exactly the opposite attitude towards something that certainly is not committing physical violence against somebody, I don t understand the double standard!
Another cardinal principle is we shouldn t have any guilt by association. [To hold culpable] these board members who were affiliated with him and ostensibly didn t do enough to punish him for things that he said which by the way were completely separate from the Free Software Foundation is multiplying the problems of unwarranted punishment. It extends the punishment where the argument for responsibility and culpability becomes thinner and thinner to the vanishing point. That is also going to have an enormous adverse impact on the freedom of association, which is an important right protected in the U.S. by the First Amendment.
The Supreme Court has upheld freedom of association in cases involving organizations that were at the time highly controversial. It started with NAACP (National Association for the Advancement of Colored People) during the civil rights movement in the 1950s and 60s, but we have a case that s going to the Supreme Court right now regarding Black Lives Matter. The Supreme Court says even if one member of the group does commit a crime in both of those cases physical violence and assault that is not a justification for punishing other members of the group unless they specifically intended to participate in the particular punishable conduct.
Now, let s assume for the sake of argument, Stallman had an attitude that was objectively described as discriminatory on the basis on race and gender (and by the way I have seen nothing to indicate that), that he s an unrepentant misogynist, who really believes women are inferior. We are not going to correct those ideas, to enlighten him towards rejecting them and deciding to treat women as equals through a punitive approach! The only approach that could possibly work is an educational one! Engaging in speech, dialogue, discussion and leading him to re-examine his own ideas.
Even if I strongly disagree with a position or an idea, an expression of an idea, advocacy of an idea, and even if the vast majority of the public disagrees with the idea and finds it offensive, that is not a justification for suppressing the idea. And it s not a justification for taking away the equal rights of the person who espouses that idea including the right to continue holding a tenured position or other prominent position for which that person is qualified.
But a number of the ideas for which Richard Stallman has been attacked and punished are ideas that I as a feminist advocate of human rights find completely correct and positive from the perspective of women s equality and dignity! So for example, when he talks about the misuse and over use and flawed use of the term sexual assault, I completely agree with that critique! People are indiscriminantly using that term or synonyms to describe everything from the most appaulling violent abuse of helpless vulnerable victims (such as a rape of a minor) to any conduct or expression in the realm of gender or sexuality that they find unpleasant or disagreeable.
So we see the term sexual assault and sexual harrassment used for example, when a guy asks a woman out on a date and she doesn t find that an appealing invitation. Maybe he used poor judgement in asking her out, maybe he didn t, but in any case that is NOT sexual assault or harassment. To call it that is to really demean the huge horror and violence and predation that does exist when you are talking about violent sexual assault. People use the term sexual assault/ sexual harassment to refer to any comment about gender or sexuality issues that they disagree with or a joke that might not be in the best taste, again is that to be commended? No! But to condemn it and equate it with a violent sexual assault again is really denying and demeaning the actual suffering that people who are victims of sexual assault endure. It trivializes the serious infractions that are committed by people like Jeffrey Epstein and Harvey Weinstein. So that is one point that he made that I think is very important that I strongly agree with.
Secondly and relatedly, [Richard Stallman] never said that he endorse child pornography, which by definition the United States Supreme Court has defined it multiple times is the sexual exploitation of an actual minor. Coerced, forced, sexual activity by that minor, with that minor that happens to be filmed or photographed. That is the definition of child pornography. He never defends that! What the point he makes, a very important one, which the U.S. Supreme Court has also made, is mainly that we overuse and distort the term child pornography to refer to any depiction of any minor in any context that is even vaguely sexual.
So some people have not only denounced as child pornography but prosecuted and jailed loving devoted parents who committed the crime of taking a nude or semi-nude picture of their own child in a bathtub or their own child in a bathing suit. Again it is the hysteria that has totally refused to draw an absolutely critical distinction between actual violence and abuse, which is criminal and should be criminal, to any potentially sexual depiction of a minor. And I say potentially because I think if you look at a picture a parent has taken of a child in a bathtub and you see that as sexual, then I d say there s something in your perspective that might be questioned or challenged! But don t foist that upon the parent who is lovingly documenting their beloved child s life and activities without seeing anything sexual in that image.
This is a decision that involves line drawing. We tend to have this hysteria where once we hear terms like pedophilia of course you are going to condemn anything that could possibly have that label. Of course you would. But societies around the world throughout history various cultures and various religions and moral positions have disagreed about at what age do you respect the autonomy and individuality and freedom of choice of a young person around sexuality. And the U.S. Supreme Court held that in a case involving minors right to choose to have an abortion.
By the way, [contraception and abortion] is a realm of sexuality where liberals and progressives and feminists have been saying, Yes! If you re old enough to have sex. You should have the right to contraception and access to it. You should have the right to have an abortion. You shouldn t have to consult with your parents and have their permission or a judge s permission because you re sufficiently mature. And the Supreme Court sided in accord of that position. The U.S. Supreme Court said constitutional rights do not magically mature and spring into being only when someone happens to attain the state defined age of majority.
In other words the constitution doesn t prevent anyone from exercising rights, including Rights and sexual freedoms, freedom of choice and autonomy at a certain age! And so you can t have it both ways. You can t say well we re strongly in favor of minors having the right to decide what to do with their own bodies, to have an abortion what is in some people s minds murder but we re not going to trust them to decide to have sex with somewhat older than they are.
And I say somewhat older than they are because that s something where the law has also been subject to change. On all issues of when you obtain the age of majority, states differ on that widely and they choose different ages for different activities. When you re old enough to drive, to have sex with someone around your age, to have sex with someone much older than you. There is no magic objective answer to these questions. I think people need to take seriously the importance of sexual freedom and autonomy and that certainly includes women, feminists. They have to take seriously the question of respecting a young person s autonomy in that area.
There have been famous cases of 18 year olds who have gone to prison because they had consensual sex with their girlfriends who were a couple of years younger. A lot of people would not consider that pedophilia and yet under some strict laws and some absolute definitions it is. Romeo and Juliet laws make an exception to pedophilia laws when there is only a relatively small age difference. But what is relatively small? So to me, especially when he says he is re-examining his position, Stallman is just thinking through the very serious debate of how to be protective and respectful of young people. He is not being disrespectful, much less wishing harm upon young people, which seems to be what his detractors think he s doing.
Rscript
. It allows for piping as well for shebang scripting via #!
, uses command-line arguments more consistently and still starts faster. It also always loaded the methods
package which Rscript
only started to do in recent years.
littler lives on Linux and Unix, has its difficulties on macOS due to yet-another-braindeadedness there (who ever thought case-insensitive filesystems as a default where a good idea?) and simply does not exist on Windows (yet the build system could be extended see RInside for an existence proof, and volunteers are welcome!). See the FAQ vignette on how to add it to your PATH
.
A few examples are highlighted at the Github repo, as well as in the examples vignette.
This release brings five new example scripts and command wrappers:
installDeps.r
installs all dependencies of package (directory or tarball)installRSPM.r
relies on RSPM to install binary packagesinstallBSPM.r
relies on BSPM to install binary packages (esp. on Linux)cranIncomimg.r
checks the incoming queue for one or more packagesurlUpdates.r
checks and/or updates stale URLs leading to redirectsNEWS
file entry is below.
My CRANberries provides a comparison to the previous release. Full details for the littler release are provided as usual at the ChangeLog page, and now also on the new package docs website. The code is available via the GitHub repo, from tarballs and now of course also from its CRAN page and viaChanges in littler version 0.3.12 (2020-10-04)
- Changes in examples
- Updates to scripts
tt.r
,cos.r
,cow.r
,c4r.r
,com.r
- New script
installDeps.r
to install dependencies- Several updates tp script
check.r
- New script
installBSPM.r
andinstallRSPM.r
for binary package installation (Dirk and I aki in #81)- New script
cranIncoming.r
to check in Incoming- New script
urlUpdate.r
validates URLs as R does- Changes in package
- Travis CI now uses BSPM
- A package documentation website was added
- Vignettes now use minidown resulting in much reduced filesizes: from over 800kb to under 50kb (Dirk in #83)
install.packages("littler")
. Binary packages are available directly in Debian as well as soon via Ubuntu binaries at CRAN thanks to the tireless Michael Rutter.
Comments and suggestions are welcome at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
rst2s5
with
python-docutilsRscript
. It allows for piping as well for shebang scripting via #!
, uses command-line arguments more consistently and still starts faster. It also always loaded the methods
package which Rscript
only started to do in recent years.
littler lives on Linux and Unix, has its difficulties on macOS due to yet-another-braindeadedness there (who ever thought case-insensitive filesystems as a default where a good idea?) and simply does not exist on Windows (yet the build system could be extended see RInside for an existence proof, and volunteers are welcome!). See the FAQ vignette on how to add it to your PATH
.
A few examples are highlighted at the Github repo, as well as in the examples vignette.
This release mostly responds to the recent docopt release 0.7.0 which brought a breaking change for quoted arguments. In short, it is for the better because an option --as-cran
is now available parsed as opt$as_cran
which is easier than the earlier form where we needed to back-tick protect as-cran
containing an underscore. We also added a new portmanteau-ish option to roxy.r
.
The NEWS
file entry is below.
CRANberries provides a comparison to the previous release. Full details for the littler release are provided as usual at the ChangeLog page. The code is available via the GitHub repo, from tarballs and now of course also from its CRAN page and viaChanges in littler version 0.3.11 (2020-06-26)
- Changes in examples
- Scripts
check.r
andrcc.r
updated to reflect updated docopt 0.7.0 behaviour of quoted arguments- The
roxy.r
script has a new ease-of-use option-f --full
regrouping two other options.
install.packages("littler")
. Binary packages are available directly in Debian as well as soon via Ubuntu binaries at CRAN thanks to the tireless Michael Rutter.
Comments and suggestions are welcome at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Rscript
. It allows for piping as well for shebang scripting via #!
, uses command-line arguments more consistently and still starts faster. It also always loaded the methods
package which Rscript
only started to do in recent years.
littler lives on Linux and Unix, has its difficulties on macOS due to yet-another-braindeadedness there (who ever thought case-insensitive filesystems as a default where a good idea?) and simply does not exist on Windows (yet the build system could be extended see RInside for an existence proof, and volunteers are welcome!). See the FAQ vignette on how to add it to your PATH
.
A few examples are highlighted at the Github repo, as well as in the examples vignette.
This release adds a new helper / example script installBioc.r
for BioConductor package installation, generalizes the roxygenize()
wrapper roxy.r
a little, and polished a couple of other corners.
The NEWS
file entry is below.
CRANberries provides a comparison to the previous release. Full details for the littler release are provided as usual at the ChangeLog page. The code is available via the GitHub repo, from tarballs and now of course also from its CRAN page and viaChanges in littler version 0.3.10 (2020-06-02)
- Changes in examples
- The
update.r
script only considers writeable directories.- The
rcc.r
script tries to report full logs by setting_R_CHECK_TESTS_NLINES_=0
.- The
tt.r
script has an improvedncpu
fallback.- Several installation and updating scripts set
_R_SHLIB_STRIP_
toTRUE
.- A new script
installBioc.r
was added.- The
--error
option toinstall2.r
was generalized (Sergio Oller in #78).- The
roxy.r
script was extended a little.- Changes in package
- Travis CI now uses R 4.0.0 and the bionic distro
install.packages("littler")
. Binary packages are available directly in Debian as well as soon via Ubuntu binaries at CRAN thanks to the tireless Michael Rutter.
Comments and suggestions are welcome at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
portable/system.h
now defines explicit_bzero
in terms of
memset
if it is not available. The memset
version is
unlikely to have the same security properties since the compiler may
optimize it away, but that allows me to use explicit_bzero
to erase
security data where it is available.
For packages with Kerberos tests, generating a test krb5.conf
file
now works properly even if the system krb5.conf
file does not set a
default realm, and a krb5.conf
file dropped into the test
configuration directory now works properly. Thanks to Jeffrey Hutzelman
for the latter fix.
For packages with PAM modules, the ENTRY
and EXIT
logging
macros can now be used like function calls, and portable/pam.h
now
defines PAM_MAX_RESP_SIZE
if it isn't defined.
Header ordering in some of the portability socket code has been restored
to compatibility with a few ancient UNIX systems. This was accidentally
broken by the clang-format reformatting. Thanks to Julien LIE for the
fix.
A few bugs in the test for SPDX license identifiers have been fixed.
Finally, this release fixes warnings with Clang 10 and GCC 10.
You can get the latest release from the rra-c-util distribution page.
http://192.168.1.75:9100/
(no point in hiding my internal IP),
and got a partial webpage sometimes (and nothing at all
othertimes). Seeing the printer got detected over ipps://
, my
immediate reaction was to try pointing the browser to port 631. Seems
to work! Got some odd messages But it seems I ll soon debug the
issue away. I am not a familiar meddler in the dark lands of cups
,
our faithful print server, but I had to remember my toolkit..
# cupsenable HP_Ink_Tank_Wireless_410_series_C37468_ --release
lpstat -t
was not more generous, reporting only it was still paused.
Some hours later (mix in attending kids and whatnot), I finally
remember to try cupsctl --debug-logging
, and magically,
/var/log/cups/error_log
turns from being quiet to being quite
chatty. And, of course, my first print job starts being processed:
D [10/May/2020:23:07:20 -0500] Report: jobs-active=1
(...)
D [10/May/2020:23:07:25 -0500] [Job 174] Start rendering...
(...)
D [10/May/2020:23:07:25 -0500] [Job 174] STATE: -connecting-to-device
(...)
D [10/May/2020:23:07:26 -0500] [Job 174] Connection is encrypted.
D [10/May/2020:23:07:26 -0500] [Job 174] Credentials are expired (Credentials have expired.)
D [10/May/2020:23:07:26 -0500] [Job 174] Printer credentials: HPC37468 / Thu, 01 Jan 1970 00:00:00 GMT / 28A59EF511A480A34798B6712DEEAE74
D [10/May/2020:23:07:26 -0500] [Job 174] No stored credentials.
D [10/May/2020:23:07:26 -0500] [Job 174] update_reasons(attr=0(), s=\"-cups-pki-invalid,cups-pki-changed,cups-pki-expired,cups-pki-unknown\")
D [10/May/2020:23:07:26 -0500] [Job 174] STATE: -cups-pki-expired
(...)
D [10/May/2020:23:08:00 -0500] [Job 174] envp[16]="CUPS_ENCRYPTION=IfRequested"
(...)
D [10/May/2020:23:08:00 -0500] [Job 174] envp[27]="PRINTER_STATE_REASONS=cups-pki-expired"
01 Jan 1970 00:00:00 GMT
).
OK, lets clickety-click away on the Web interface Didn t take me
long to get to Network Advanced settings Certificates
:
However, clicking on Configure leads me to the not very
reassuring
I don t remember what I did for the next couple of minutes. Kept
fuming Until I parsed again the output of lpstat -t
, and found
that:
# lpstat -t
(...)
device for HP_Ink_Tank_Wireless_410_series_C37468_: ipps://HPF43909C37468.local:443/ipp/print
(...)
Issuer : CN=HPC37468, L=Vancouver, ST=Washington, C=US, O=HP,OU=HP-IPG
,
alright not that it matters (I can import a more meaningful one if I really feel like
it), but, why is it Issued On: 2019-06-14
and set to
Expires On: 2029-06-11
?
Anyway, print quality is quite nice. I hope to keep the printer long
enough to rant at the certificate being expired in the future!
Welcome to the February 2020 report from the Reproducible Builds project. One of the original promises of open source software is that distributed peer review and transparency of process results in enhanced end-user security. However, whilst anyone may inspect the source code of free and open source software for malicious flaws, almost all software today is distributed as pre-compiled binaries. This allows nefarious third-parties to compromise systems by injecting malicious code into ostensibly secure software during the various compilation and distribution processes. The motivation behind the reproducible builds effort is to provide the ability to demonstrate these binaries originated from a particular, trusted, source release: if identical results are generated from a given source in all circumstances, reproducible builds provides the means for multiple third-parties to reach a consensus on whether a build was compromised via distributed checksum validation or some other scheme. In this month s report, we cover:
If you are interested in contributing to the project, please visit our Contribute page on our website.
All computation that occurs inside a DetTrace container is a pure function of the initial filesystem state of the container. Reproducible containers can be used for a variety of purposes, including replication for fault-tolerance, reproducible software builds and reproducible data analytics. We use DetTrace to achieve, in an automatic fashion, reproducibility for 12,130 Debian package builds, containing over 800 million lines of code, as well as bioinformatics and machine learning workflows.There was also considerable discussion on our mailing list regarding this research and a presentation based on the paper will occur at the ASPLOS 2020 conference between March 16th 20th in Lausanne, Switzerland. The many virtues of Reproducible Builds were touted as benefits for software compliance in a talk at FOSDEM 2020, debating whether the Careful Inventory of Licensing Bill of Materials Have Impact of FOSS License Compliance which pitted Jeff McAffer and Carol Smith against Bradley Kuhn and Max Sills. (~47 minutes in). Nobuyoshi Nakada updated the canonical implementation of the Ruby programming language a change such that filesystem globs (ie. calls to list the contents of filesystem directories) will henceforth be sorted in ascending order. Without this change, the underlying nondeterministic ordering of the filesystem is exposed to the language which often results in an unreproducible build. Vagrant Cascadian reported on our mailing list regarding a quick reproducible test for the GNU Guix distribution, which resulted in 81.9% of packages registering as reproducible in his installation:
$ guix challenge --verbose --diff=diffoscope ...
2,463 store items were analyzed:
- 2,016 (81.9%) were identical
- 37 (1.5%) differed
- 410 (16.6%) were inconclusive
Jeremiah Orians announced on our mailing list the release of a number of tools related to cross-compilation such as M2-Planet
and mescc-tools-seed
. This project attemps a full bootstrap of a cross-platform compiler for the C programming language (written in C itself) from hex, the ultimate goal being able to demonstrate fully-bootstrapped compiler from hex to the GCC GNU Compiler Collection. This has many implications in and around Ken Thompson s Trusting Trust attack outlined in Thompson s 1983 Turing Award Lecture.
Twitter user @TheYoctoJester posted an executive summary of reproducible builds in the Yocto Project:
Finally, Reddit user tofflos
posted to the /r/Java subreddit asking about how to achieve reproducible builds with Maven and Chris Lamb noticed that the Linux kernel documentation about reproducible builds of it is available on the kernel.org homepages in an attractive HTML format.
debian-installer
package to allow all arguments and options from sources.list
files (such as [check-valid-until=no]
, etc.) in order that we can test the reproducibility of the installer images on the Reproducible Builds own testing infrastructure. (#13)
Thorsten Glaser followed-up to a bug filed against the dpkg-source
component that was originally filed in late 2015 that claims that the build tool does not respect permissions when unpacking tarballs if the umask is set to 0002
.
Matthew Garrett posted to the debian-devel
mailing list on the topic of Producing verifiable initramfs images as part of a wider conversation on being able to trust the entire software stack on our computers.
59 reviews of Debian packages were added, 30 were updated and 42 were removed this month adding to our knowledge about identified issues. Many issue types were noticed and categorised by Chris Lamb, including:
openstack_pkg_tools_python_shebang_and_dependencies
build_path_in_code_generated_by_dgbus_codegen
random_argument_handling_in_javatools_jh_build
fortran_captures_build_path
python-rpm-macros
(do not save time-based .pyc
files for tests)solfege
(filesystem ordering issue sent upstream via email; package is orphaned upstream)DVDStyler
(zip timestamps, submitted upstream)python-pikepdf
(recreate unreproducible .pyc
files)137
to Debian:
sng
image utility appears to return with an exit code of 1 if there are even minor errors in the file. (#950806)classes2.dex
, classes3.dex
from .apk
files extracted by apktool
. (#88)str.format
if we are just returning the string. [ ]Command.VALID_RETURNCODES
. [ ]Vcs-Git
to specify the debian
packaging branch. [ ]
reprotest is our end-user tool to build same source code twice in widely differing environments and then checks the binaries produced by each build for any differences. This month, versions 0.7.13
and 0.7.14
were uploaded to Debian unstable by Holger Levsen after Vagrant Cascadian added support for GNU Guix [ ].
SOURCE_DATE_EPOCH
documentation [ ] and normalised various terms to unreproducible [ ].
Chris Lamb added a Meson.build example [ ] and improved the documentation for the CMake [ ] to the SOURCE_DATE_EPOCH
documentation, replaced anyone can with anyone may as, well, not everyone has the resources, skills, time or funding to actually do what it refers to [ ] and improved the pre-processing for our report generation [ ][ ][ ][ ] etc.
In addition, Holger Levsen updated our news page to improve the list of reports [ ], added an explicit mention of the weekly news time span [ ] and reverted sorting of news entries to have latest on top [ ] and Mattia Rizzolo added Codethink as a non-fiscal sponsor [ ] and lastly Tianon Gravi added a Docker Images link underneath the Debian project on our Projects page [ ].
rdiff-backup
fixed, build date in Python manpageclick-man
fixed, toolchain, build date in Python manpagerpm
report filesystem-order related nondeterminismpython-enaml
report nondeterministic .enamlc
compiler outputk9s
datepython-xcffib
fix a test with a race conditionsnakemake
.designate
.pynwb
.python-oslo.reports
.mate-desktop
(forwarded upstream).javatools
.xavs2
.snapd-glib
(forwarded upstream).openstack-pkg-tools
.python-django
(Always build the documentation in English)python_example
(sort glob
/ readdir
)autogen
.autoconf
.m4
.intltool
.binutils-dev
.yodl-doc
.gdb-source
.automake-1.15
.libtool
.builtin-pho
database of .buildinfo
files. This has resulted in so that we now know that Debian bullseye contains 4,557 source packages for the amd64
architecture without corresponding .buildinfo
files and 25,668 source packages with .buildinfo
files. [ ][ ][ ][ ][ ]buildinfo@
to the root
user. [ ]devscripts
from buster-backports [ ].i386
architecture, to allow the latter to catch up a bit. [ ]arm64
architecture builders [ ]. The usual build node maintenance was performed by Holger Levsen, Mattia Rizzolo [ ][ ] and Vagrant Cascadian.
#reproducible-builds
on irc.oftc.net
.
rb-general@lists.reproducible-builds.org
This month s report was written by Bernhard M. Wiedemann, Chris Lamb and Holger Levsen. It was subsequently reviewed by a bunch of Reproducible Builds folks on IRC and the mailing list.
Gib Bassett, Peter Carl, Dirk Eddelbuettel, Brian Peterson,
Dale Rosenthal, Jeffrey Ryan, Joshua Ulrich
package=
in .Call
with the correct PACKAGE=
(as requsted by CRAN). It also integrates a small robustification in the deserializer when encountering invalide objects; this was both reported and fixed by Jeffrey Shen.
CRANberries also provides a diff to the previous release. The RProtoBuf page has an older package vignette, a 'quick' overview vignette, a unit test summary vignette, and the pre-print for the JSS paper. Questions, comments etc should go to the GitHub issue tracker off the GitHub repo.Changes in RProtoBuf version 0.4.10 (2017-08-13)
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
plotOBOS()
which charts a moving average (from one of several available variants) along with shaded standard deviation bands. That post has a bit more background on the why/how and motivation, but as a teaser here is the resulting chart of the SP500 index (with ticker ^GSCP):
The code uses a few standard finance packages for R (with most of them maintained by Joshua Ulrich given that Jeff Ryan, who co-wrote chunks of these, is effectively retired from public life). Among these, xts had a recent release reflecting changes which occurred during the four (!!) years since the previous release, and covering at least two GSoC projects. With that came subtle API changes: something we all generally try to avoid but which is at times the only way forward. In this case, the shading code I used (via polygon()
from base R) no longer cooperated with the beefed-up functionality of plot.xts()
. Luckily, Ross Bennett incorporated that same functionality into a new function addPolygon
--- which even credits this same post of mine.
With that, the updated code becomes
## plotOBOS -- displaying overbough/oversold as eg in Bespoke's plots
##
## Copyright (C) 2010 - 2017 Dirk Eddelbuettel
##
## This is free software: you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 2 of the License, or
## (at your option) any later version.
suppressMessages(library(quantmod)) # for getSymbols(), brings in xts too
suppressMessages(library(TTR)) # for various moving averages
plotOBOS <- function(symbol, n=50, type=c("sma", "ema", "zlema"),
years=1, blue=TRUE, current=TRUE, title=symbol,
ticks=TRUE, axes=TRUE)
today <- Sys.Date()
if (class(symbol) == "character")
X <- getSymbols(symbol, from=format(today-365*years-2*n), auto.assign=FALSE)
x <- X[,6] # use Adjusted
else if (inherits(symbol, "zoo"))
x <- X <- as.xts(symbol)
current <- FALSE # don't expand the supplied data
n <- min(nrow(x)/3, 50) # as we may not have 50 days
sub <- ""
if (current)
xx <- getQuote(symbol)
xt <- xts(xx$Last, order.by=as.Date(xx$ Trade Time ))
colnames(xt) <- paste(symbol, "Adjusted", sep=".")
x <- rbind(x, xt)
sub <- paste("Last price: ", xx$Last, " at ",
format(as.POSIXct(xx$ Trade Time ), "%H:%M"), sep="")
type <- match.arg(type)
xd <- switch(type, # compute xd as the central location via selected MA smoother
sma = SMA(x,n),
ema = EMA(x,n),
zlema = ZLEMA(x,n))
xv <- runSD(x, n) # compute xv as the rolling volatility
strt <- paste(format(today-365*years), "::", sep="")
x <- x[strt] # subset plotting range using xts' nice functionality
xd <- xd[strt]
xv <- xv[strt]
xyd <- xy.coords(.index(xd),xd[,1]) # xy coordinates for direct plot commands
xyv <- xy.coords(.index(xv),xv[,1])
n <- length(xyd$x)
xx <- xyd$x[c(1,1:n,n:1)] # for polygon(): from first point to last and back
if (blue)
blues5 <- c("#EFF3FF", "#BDD7E7", "#6BAED6", "#3182BD", "#08519C") # cf brewer.pal(5, "Blues")
fairlylight <<- rgb(189/255, 215/255, 231/255, alpha=0.625) # aka blues5[2]
verylight <<- rgb(239/255, 243/255, 255/255, alpha=0.625) # aka blues5[1]
dark <<- rgb(8/255, 81/255, 156/255, alpha=0.625) # aka blues5[5]
## buglet in xts 0.10-0 requires the <<- here
else
fairlylight <<- rgb(204/255, 204/255, 204/255, alpha=0.5) # two suitable grays, alpha-blending at 50%
verylight <<- rgb(242/255, 242/255, 242/255, alpha=0.5)
dark <<- 'black'
plot(x, ylim=range(range(x, xd+2*xv, xd-2*xv, na.rm=TRUE)), main=title, sub=sub,
major.ticks=ticks, minor.ticks=ticks, axes=axes) # basic xts plot setup
addPolygon(xts(cbind(xyd$y+xyv$y, xyd$y+2*xyv$y), order.by=index(x)), on=1, col=fairlylight) # upper
addPolygon(xts(cbind(xyd$y-xyv$y, xyd$y+1*xyv$y), order.by=index(x)), on=1, col=verylight) # center
addPolygon(xts(cbind(xyd$y-xyv$y, xyd$y-2*xyv$y), order.by=index(x)), on=1, col=fairlylight) # lower
lines(xd, lwd=2, col=fairlylight) # central smooted location
lines(x, lwd=3, col=dark) # actual price, thicker
addPolygon
. To illustrate, we call plotOBOS("SPY", years=2)
with an updated plot of the ETF representing the SP500 over the last two years:
Comments and further enhancements welcome!
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Thanks to CRANberries, you can also look at a diff to the previous release. As always, even fuller details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads page, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.Changes in Rcpp version 0.12.12 (2017-07-13)
- Changes in Rcpp API:
- The
tinyformat.h
header now ends in a newline (#701).- Fixed rare protection error that occurred when fetching stack traces during the construction of an Rcpp exception (Kirill M ller in #706).
- Compilation is now also possibly on Haiku-OS (Yo Gong in #708 addressing #707).
- Dimension attributes are explicitly cast to
int
(Kirill M ller in #715).- Unused arguments are no longer declared (Kirill M ller in #716).
- Visibility of exported functions is now supported via the R macro
atttribute_visible
(Jeroen Ooms in #720).- The
no_init()
constructor acceptsR_xlen_t
(Kirill M ller in #730).- Loop unrolling used
R_xlen_t
(Kirill M ller in #731).- Two unused-variables warnings are now avoided (Jeff Pollock in #732).
- Changes in Rcpp Attributes:
- Execute tools::package_native_routine_registration_skeleton within package rather than current working directory (JJ in #697).
- The R portion no longer uses
dir.exists
to no require R 3.2.0 or newer (Elias Pipping in #698).- Fix native registration for exports with name attribute (JJ in #703 addressing #702).
- Automatically register init functions for Rcpp Modules (JJ in #705 addressing #704).
- Add Shield around parameters in Rcpp::interfaces (JJ in #713 addressing #712).
- Replace dot (".") with underscore ("_") in package names when generating native routine registrations (JJ in #722 addressing #721).
- Generate C++ native routines with underscore ("_") prefix to avoid exporting when standard exportPattern is used in NAMESPACE (JJ in #725 addressing #723).
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
lace
(version 1.3 or later) there is a mechanism we are
calling 'sub-defines'. Previously if you wanted to write a ruleset which said
something like "Allow Steve to read my repository" you needed:
define is_steve user exact steve
allow "Steve can read my repo" is_steve op_read
And, as you'd expect, if you also wanted to grant read access to Jeff then
you'd need yet set of defines:
define is_jeff user exact jeff
define is_steve user exact steve
define readers anyof is_jeff is_steve
allow "Steve and Jeff can read my repo" readers op_read
This, while flexible (and still entirely acceptable) is wordy for small
rulesets and so we added sub-defines to create this syntax:
allow "Steve and Jeff can read my repo" op_read [anyof [user exact jeff] [user exact steve]]
Of course, this is generally neater for simpler rules, if you wanted to add
another user then it might make sense to go for:
define readers anyof [user exact jeff] [user exact steve] [user exact susan]
allow "My friends can read my repo" op_read readers
The nice thing about this sub-define syntax is that it's basically usable
anywhere you'd use the name of a previously defined thing, they're compiled in
much the same way, and Richard worked hard to get good error messages out from
them just in case.
auto_user_XXX
and auto_group_YYY
As a result of the above being implemented, the support Gitano previously grew
for automatically defining users and groups has been removed. The approach we
took was pretty inflexible and risked compilation errors if a user was deleted
or renamed, and so the sub-define approach is much much better.
If you currently use auto_user_XXX
or auto_group_YYY
in your rulesets then
your upgrade path isn't bumpless but it should be fairly simple:
auto_user_FOO
with [user exact FOO]
and similarly for
any auto_group_BAR
to [group exact BAR]
.user FOO
or group !BAR
. The
match syntax grew more and more arcane as we added Lua pattern support refs
~^refs/heads/$ user /
. When we wanted to add proper PCRE regex support we
added a syntax of the form: user pcre ^/.+?...
where pcre
could be any
of: exact
, prefix
, suffix
, pattern
, or pcre
. We had a complex set
of rules for exactly what the sigils at the start of the match string might
mean in what order, and it was getting unwieldy.
To simplify matters, none of the "backward compatibility" remains in
Gitano. You instead MUST use the what how with
match form. To make this
slightly more natural to use, we have added a bunch of aliases: is
for
exact
, starts
and startswith
for prefix
, and ends
and endswith
for
suffix
. In addition, kind of match can be prefixed with a !
to invert it,
and for natural looking rules not
is an alias for !is
.
This means that your rulesets MUST be updated to support the more explicit
syntax before you update Gitano, or else nothing will compile. Fortunately
this form has been supported for a long time, so you can do this in three
steps.
gitano-admin.git
global ruleset. For example, the old form
of the defines used to contain define is_gitano_ref ref ~^refs/gitano/
which can trivially be replaced with: define is_gitano_ref ref prefix refs/gitano/
/usr/share/gitano
if Gitano is installed on your local system.
Next time, I'll likely talk about the deprecated commands which are no longer
in Gitano, and how you'll need to adjust your automation to use the new
commands.
Next.